/**
 * Copyright (c) 2020 Contributors to the Eclipse Foundation
 *
 * See the NOTICE file(s) distributed with this work for additional
 * information regarding copyright ownership.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License 2.0 which is available at
 * https://www.eclipse.org/legal/epl-2.0
 *
 * SPDX-License-Identifier: EPL-2.0
 */
package org.eclipse.vorto.plugin.generator.utils.javatemplates

import org.eclipse.vorto.core.api.model.datatype.Enum
import org.eclipse.vorto.plugin.generator.InvocationContext
import org.eclipse.vorto.plugin.generator.utils.ITemplate

class JavaEnumTemplate implements ITemplate<Enum>{
	
	var String enumPackage;
	
	new(String enumPackage) {
		this.enumPackage = enumPackage;
	}
	
	override getContent(Enum en,InvocationContext invocationContext) {
		'''
			/*
			*****************************************************************************************
			* The present code has been generated by the Eclipse Vorto Code Generator.
			*
			* The basis for the generation was the Enum which is uniquely identified by:
			* Name:			«en.name»
			* Namespace:	«en.namespace»
			* Version:		«en.version»
			*****************************************************************************************
			*/
			
			package «enumPackage»;
			
			/**
			* «en.description»
			*/
			public enum «en.name.toFirstUpper» {
				«FOR literal : en.enums SEPARATOR ","»
					/**
					* «literal.description»
					*/
					«literal.name.toUpperCase»
					
				«ENDFOR»
			}
		'''
	}
}
